#include "camfija.h"

#include <cmath>
#define PI 3.141592653589793

#include <iostream>

CamFija::CamFija() : _elevacion(0),
   _giro(0),
   _x(0), _y(0), _z(-4) {  
   }

void CamFija::avanzar(float despl) {
   _x -= cos(-_giro*PI/180.0) * despl;
   _y -= sin(-_giro*PI/180.0) * despl;
   _z += 0;
}

void CamFija::derecha(float despl) {
   _x += -sin(-_giro*PI/180.0) * despl;
   _y += cos(-_giro*PI/180.0)  * despl;
   _z += 0;
}

void CamFija::ver() const {
   gluLookAt(0, 0, 0,
         1, 0, 0,
         0, 0, 1);  

   // Rotacion segun la elevacion
   glRotatef(-_elevacion, 0, 1, 0);
   
   // Rotacion segun la giro
   glRotatef(_giro, 0, 0, 1);

   glTranslatef(_x, _y, _z);
}
